cmake_minimum_required(VERSION 3.29)
project(c-language-2024 C)

set(CMAKE_C_STANDARD 99)


add_executable(main main.c)
add_executable(demo_1 chapter1/demo_1.c)
add_executable(demo_2 chapter1/demo_2.c)
add_executable(demo_3 chapter1/demo_3.c)
add_executable(demo_4 chapter1/demo_4.c)
add_executable(demo_5 chapter1/demo_5.c)
add_executable(practice chapter1/practice.c)
add_executable(demo_2_1_2 chapter2/demo_2_1_2.c)
add_executable(demo_2_2 chapter2/demo_2_2.c)
add_executable(practice_2_1 chapter2/practice_2_1.c)
add_executable(demo_2_3 chapter2/demo_2_3.c)
add_executable(demo_2_5_a chapter2/demo_2_5_a.c)
add_executable(demo_2_5_b chapter2/demo_2_5_b.c)
add_executable(demo_2_5_c chapter2/demo_2_5_c.c)
add_executable(practice_2_2 chapter2/practice_2_2.c)
add_executable(demo_2_8 chapter2/demo_2_8.c)
add_executable(demo_2_9 chapter2/demo_2_9.c)
add_executable(practice_2_3 chapter2/practice_2_3.c)

add_executable(practice_2_4 chapter2/practice_2_4.c)
add_executable(practice_2_5 chapter2/practice_2_5.c)
add_executable(demo_2_12 chapter2/demo_2_12.c)
add_executable(homework1 chapter2/homework/homework1.c)
add_executable(homework2 chapter2/homework/homework2.c)

add_executable(demo_3_1 chapter3/demo_3_1.c)
add_executable(demo_3_2 chapter3/demo_3_2.c)
add_executable(demo_3_4 chapter3/demo_3_4.c)
add_executable(practice_3_1 chapter3/practice_3_1.c)
add_executable(demo_3_5 chapter3/demo_3_5.c)
add_executable(practice_3_2 chapter3/practice_3_2.c)
add_executable(practice_3_3 chapter3/practice_3_3.c)
add_executable(demo_3_6 chapter3/demo_3_6.c)
add_executable(demo_3_7 chapter3/demo_3_7.c)
add_executable(practice_3_4 chapter3/practice_3_4.c)

add_executable(17_LLoop_demo17 chapter2/17_LLoop_demo17.c)
add_executable(demo_3_2_1 chapter3/demo_3_8.c)
add_executable(practice_3_5 chapter3/practice_3_5.c)
add_executable(demo_3_9 chapter3/demo_3_9.c)
add_executable(practice_3_6 chapter3/practice_3_6.c)
add_executable(practice_3_7 chapter3/practice_3_7.c)
add_executable(practice_3_9 chapter3/practice_3_9.c)
add_executable(demo_3_10 chapter3/demo_3_10.c)
add_executable(practice_3_10 chapter3/practice_3_10.c)
add_executable(practice_3_11 chapter3/practice_3_11.c)
add_executable(demo_3_11 chapter3/demo_3_11.c)
add_executable(demo_3_13 chapter3/demo_3_13.c)
add_executable(demo_3_14 chapter3/demo_3_14.c)
add_executable(demo_3_15 chapter3/demo_3_15.c)
add_executable(demo_4_1 chapter4/demo_4_1.c)
add_executable(demo_4_2 chapter4/demo_4_2.c)
add_executable(demo_4_3 chapter4/demo_4_3.c)
add_executable(practice_1 chapter4/practice_1.c)
add_executable(practice_2 chapter4/practice_2.c)


add_executable(demo_4_4 chapter4/demo_4_4.c)
add_executable(demo_4_5 chapter4/demo_4_5.c)
add_executable(demo_4_6 chapter4/demo_4_6.c)
add_executable(demo_4_6_c chapter4/demo_4_6_c.c)
add_executable(demo_4_7 chapter4/demo_4_7.c)
add_executable(practice_3 chapter4/practice_3.c)
add_executable(practice_4 chapter4/practice_4.c)
add_executable(demo_4_8 chapter4/demo_4_8.c)
add_executable(demo_4_9 chapter4/demo_4_9.c)
add_executable(demo47 chapter4/demo47.c)
add_executable(demo50 chapter4/demo50.c)
add_executable(demo56 chapter4/demo56.c)
add_executable(demo60 chapter4/demo60.c)
add_executable(demo62 chapter4/demo62.c)
add_executable(demo63 chapter4/demo63.c)
add_executable(demo64 chapter4/demo64.c)
add_executable(demo70 chapter4/demo70.c)
add_executable(practice71 chapter4/practice71.c)
add_executable(demo82 chapter4/demo82.c)
add_executable(demo74 chapter4/demo74.c)
add_executable(demo51 chapter3/demo51.c)
add_executable(demo85 chapter4/demo85.c)
add_executable(practice88 chapter4/practice88.c)
add_executable(demo93 chapter4/demo93.c)
add_executable(demo94 chapter4/demo94.c)
add_executable(demo98 chapter4/demo98.c)
add_executable(demo101 chapter4/demo101.c)
add_executable(demo103 chapter4/demo103.c)
add_executable(demo106 chapter4/demo106.c)
add_executable(demo108 chapter4/demo108.c)
add_executable(demo110 chapter4/demo110.c)
add_executable(demo114 chapter4/demo114.c)
add_executable(demo14 chapter5/demo14.c)
add_executable(demo23 chapter5/demo23.c)
add_executable(demo33 chapter5/demo33.c)
add_executable(demo37 chapter5/demo37.c)
add_executable(demo40 chapter5/demo40.c)
add_executable(demo43 chapter5/demo43.c)
add_executable(demo54 chapter5/demo54.c)
add_executable(demo57 chapter5/demo57.c)
add_executable(demo58 chapter5/demo58.c)
add_executable(c5demo63 chapter5/c5demo63.c)
add_executable(c5demo67 chapter5/c5demo67.c)
add_executable(c5practice68 chapter5/c5practice68.c)
add_executable(c5practice69 chapter5/c5practice69.c)
add_executable(c5practice70 chapter5/c5practice70.c)
add_executable(c5demo73 chapter5/c5demo73.c)
add_executable(c5practice75 chapter5/c5practice75.c)
add_executable(demo49 chapter4/demo49.c)
add_executable(c6demo1 chapter6/c6demo1.c)
add_executable(c6demo10 chapter6/c6demo10.c)
add_executable(c6demo14 chapter6/c6demo14.c)
add_executable(c6demo16 chapter6/c6demo16.c)
add_executable(c6demo19 chapter6/c6demo19.c)
add_executable(c6demo22 chapter6/c6demo22.c)
add_executable(c6demo24 chapter6/c6demo24.c)
add_executable(c6demo25 chapter6/c6demo25.c)
add_executable(c6demo29 chapter6/c6demo29.c)
add_executable(c6demo32 chapter6/c6demo32.c)
add_executable(c6demo36 chapter6/c6demo36.c)
add_executable(c6demo37 chapter6/c6demo37.c)
add_executable(c6demo38 chapter6/c6demo38.c)
add_executable(c6practice42 chapter6/c6practice42.c)
add_executable(c4demo64 chapter4/c4demo64.c)
add_executable(c6demo46 chapter6/c6demo46.c)
add_executable(c6demo50 chapter6/c6demo50.c)
add_executable(c6demo54 chapter6/c6demo54.c)
add_executable(c6demo58 chapter6/c6demo58.c)
add_executable(c6demo66 chapter6/c6demo66.c)
add_executable(c6demo71 chapter6/c6demo71.c)
add_executable(c6demo76 chapter6/c6demo76.c)
add_executable(c6demo82 chapter6/c6demo82.c)
add_executable(c6demo86 chapter6/c6demo86.c)
add_executable(c6demo90 chapter6/c6demo90.c)
add_executable(c6demo94 chapter6/c6demo94.c)
add_executable(c7demo8 chapter7/c7demo8.c)

add_executable(c4demo64a chapter4/c4demo64a.c)
add_executable(print_odd_even practice/print_odd_even.c)
add_executable(multiplication_table practice/multiplication_table.c)
add_executable(guess_number practice/guess_number.c)
add_executable(reverse_number practice/reverse_number.c)
add_executable(c5practice68ai chapter5/c5practice68ai.c)
add_executable(demo80 chapter4/demo80.c)
add_executable(c5demo50 chapter5/c5demo50.c)

add_executable(c5demo51 chapter5/c5demo51.c)
add_executable(c5practice68ai2 chapter5/c5practice68ai2.c)
add_executable(print_lingxing practice/print_lingxing.c)
add_executable(reverse_number1 practice/reverse_number1.c)
add_executable(c7demo14 chapter7/c7demo14.c)
add_executable(c7demo19 chapter7/c7demo19.c)
add_executable(c7demo23 chapter7/c7demo23.c)
add_executable(contact_book practice/contact_book.c)
add_executable(c7demo31 chapter7/c7demo31.c)
add_executable(c7demo33 chapter7/c7demo33.c)
add_executable(c7practice35 chapter7/c7practice35.c)
add_executable(c7practice44 chapter7/c7practice44.c)
add_executable(c7practice46 chapter7/c7practice46.c)
add_executable(c7demo50 chapter7/c7demo50.c)
add_executable(test chapter5/test.c)
add_executable(c7demo51 chapter7/c7demo51.c)
add_executable(c7demo52 chapter7/c7demo52.c)
add_executable(c6test chapter6/c6test.c)
add_executable(c7demo53AI chapter7/c7demo53AI.c)
add_executable(c7demo53 chapter7/c7demo53.c)
add_executable(c7demo59 chapter7/c7demo59.c)
add_executable(c7demo63 chapter7/c7demo63.c)
add_executable(c7demo66 chapter7/c7demo66.c)
add_executable(c7practice68 chapter7/c7practice68.c)
add_executable(c7demo71 chapter7/c7demo71.c)
add_executable(c7demo73 chapter7/c7demo73.c)
add_executable(c7demo74 chapter7/c7demo74.c)
add_executable(c7demo79 chapter7/c7demo79.c)
add_executable(c7test chapter7/c7test.c)
add_executable(c7practice83 chapter7/c7practice83.c)
add_executable(c7demo85 chapter7/c7demo85.c)
add_executable(c7practice68AI chapter7/c7practice68AI.c)
add_executable(c7demo71b chapter7/c7demo71b.c)
add_executable(c7demo71c chapter7/c7demo71c.c)
add_executable(c7demo77 chapter7/c7demo77.c)
add_executable(exam37 chapter7/exam37.c)
add_executable(c8demo11 chapter8/c8demo11.c)
add_executable(c8practice12 chapter8/c8practice12.c)
add_executable(c8demo14 chapter8/c8demo14.c)
add_executable(c8demo15 chapter8/c8demo15.c)
add_executable(c8demo16 chapter8/c8demo16.c)
add_executable(c8demo19 chapter8/c8demo19.c)
add_executable(c8practice21 chapter8/c8practice21.c)
add_executable(c8demo24 chapter8/c8demo24.c)
add_executable(c8demo26 chapter8/c8demo26.c)
add_executable(c8demo27 chapter8/c8demo27.c)
add_executable(c8practice28 chapter8/c8practice28.c)
add_executable(c8demo29 chapter8/c8demo29.c)
add_executable(c8demo30 chapter8/c8demo30.c)
add_executable(c8demo33 chapter8/c8demo33.c)
add_executable(c8demo36 chapter8/c8demo36.c)
add_executable(c8demo40 chapter8/c8demo40.c)
add_executable(c8demo42 chapter8/c8demo42.c)
add_executable(c8demo44 chapter8/c8demo44.c)
add_executable(c8practice45 chapter8/c8practice45.c)
add_executable(c8demo47 chapter8/c8demo47.c)
add_executable(c8demo48 chapter8/c8demo48.c)
add_executable(c8demo49 chapter8/c8demo49.c)
add_executable(c8demo50 chapter8/c8demo50.c)
add_executable(c8demo55 chapter8/c8demo55.c)
add_executable(c8demo56 chapter8/c8demo56.c)
add_executable(c8demo58 chapter8/c8demo58.c)
add_executable(c8demo60 chapter8/c8demo60.c)
add_executable(c8demo63 chapter8/c8demo63.c)
add_executable(c8demo65 chapter8/c8demo65.c)
add_executable(c8demo69 chapter8/c8demo69.c)
add_executable(c8demo70 chapter8/c8demo70.c)
add_executable(c8demo72 chapter8/c8demo72.c)
add_executable(c8practice73 chapter8/c8practice73.c)
add_executable(C8Test chapter8/C8Test.c)

add_executable(c8demo38 chapter8/c8demo38.c)
add_executable(c8demo84 chapter8/c8demo84.c)
add_executable(c9demo9 chapter9/c9demo9.c)
add_executable(c9demo21 chapter9/c9demo21.c)
add_executable(c8demo71 chapter8/c8demo71.c)
add_executable(c8demo69a chapter8/c8demo69a.c)
add_executable(c8demo73 chapter8/c8demo73.c)
add_executable(c9demo16 chapter9/c9demo16.c)
add_executable(c9demo20 chapter9/c9demo20.c)
add_executable(c9demo28 chapter9/c9demo28.c)
add_executable(c9demo33 chapter9/c9demo33.c)
add_executable(random practice/random.c)
add_executable(c9demo34 chapter9/c9demo34.c)
add_executable(c9demo35 chapter9/c9demo35.c)
add_executable(c9demo38 chapter9/c9demo38.c)
add_executable(c9demo40 chapter9/c9demo40.c)
add_executable(c9demo41 chapter9/c9demo41.c)
add_executable(c9demo42 chapter9/c9demo42.c)
add_executable(c9demo44 chapter9/c9demo44.c)
add_executable(c9demo46 chapter9/c9demo46.c)
add_executable(c9demo51 chapter9/c9demo51.c)
add_executable(c9demo36 chapter9/c9demo36.c)
add_executable(c9demo65 chapter9/c9demo65.c)
add_executable(c9demo68 chapter9/c9demo68.c)
add_executable(c9practice69 chapter9/c9practice69.c)
add_executable(c9demo76 chapter9/c9demo76.c)
add_executable(c9demo78 chapter9/c9demo78.c)
add_executable(c9demo90 chapter9/c9demo90.c)
add_executable(c9demo91 chapter9/c9demo91.c)
add_executable(c9demo93 chapter9/c9demo93.c)
add_executable(c10demo9 chapter10/c10demo9.c)
add_executable(c9demo24 chapter9/c9demo24.c)
add_executable(c9demo84 chapter9/c9demo84.c)
add_executable(test6_1 practice/test6_1.c)
add_executable(test6_2 practice/test6_2.c)
add_executable(c10demo4 chapter10/c10demo4.c)
add_executable(c10demo6 chapter10/c10demo6.c)
add_executable(c10demo10 chapter10/c10demo10.c)
add_executable(c10demo13 chapter10/c10demo13.c)
add_executable(c10demo17 chapter10/c10demo17.c)
add_executable(c10demo19 chapter10/c10demo19.c)
add_executable(c10practice23 chapter10/c10practice23.c)
add_executable(c10practice24 chapter10/c10practice24.c)
add_executable(c10practice26 chapter10/c10practice26.c)
add_executable(c10demo31 chapter10/c10demo31.c)
add_executable(c10demo33 chapter10/c10demo33.c)
add_executable(c10demo34 chapter10/c10demo34.c)
add_executable(c10demo35 chapter10/c10demo35.c)
add_executable(c10demo37 chapter10/c10demo37.c)
add_executable(c10demo45 chapter10/c10demo45.c)
add_executable(c10demo46 chapter10/c10demo46.c)
add_executable(c10demo49 chapter10/c10demo49.c)
add_executable(c10demo50 chapter10/c10demo50.c)
add_executable(c10demo56 chapter10/c10demo56.c)
add_executable(c10practice57 chapter10/c10practice57.c)
add_executable(c10demo58 chapter10/c10demo58.c)
add_executable(c10demo59 chapter10/c10demo59.c)
add_executable(c10practice60 chapter10/c10practice60.c)
add_executable(c10demotest01 chapter10/c10demotest01.c)
add_executable(c10demo41 chapter10/c10demo41.c)
add_executable(c10demo42 chapter10/c10demo42.c)
add_executable(c10demo44 chapter10/c10demo44.c)